FIG. 1 shows the problem 100 to be solved--and the opportunity 100 to be exploited--when a transmitter 102 and receiver 104 are in wireless communication. Some of the signal--perhaps most of it--will travel line-of-sight from transmitter 102 to receiver 104. However, some may reflect off an obstacle (such as first building 106) before being received. There may be several obstacles (such as second building 108), each providing the signal with a different path from transmitter 102 to receiver 104. This is a problem, since the signals may arrive out of phase and interfere destructively. This is also an opportunity, if the signal strength from each path can be combined in a constructive manner. It is also an opportunity in that line-of-sight communication is no longer mandatory. To combine the independent paths in a constructive manner, it is important to be able to identify an independent path, that is, to distinguish a path from background noise.
FIG. 2 shows the conventional apparatus 200 for exploiting this opportunity. A receiver receives signals over multiple paths, each of different length, and therefore slightly offset in time. Each provides the same signal as the others but with different signal strength and noise. Several demodulators 202, 210, conventionally known as "fingers," are set to match these offsets. First finger 202 passes a demodulated received signal to first maximum energy detector 204. First maximum energy detector 204 detects the channel symbol (described below) having the most correlation energy with respect to the received signal, and passes a measurement of that energy to first lock detector 206. If this maximum energy exceeds a predetermined threshold or passes some other convenient test for significance, then the demodulated signal is significant and is applied to a combiner 208 by the first lock detector 206. If this maximum energy does not pass this test, then the demodulated signal is deemed to be noise and is not applied to the combiner 208 by the first lock detector 206.
Second finger 210 similarly has its output controlled by second maximum energy detector 212 and second lock detector 214. Only two fingers are shown in FIG. 2, but any convenient number may be used. Three or four fingers are typical in conventional technology.
The combiner 208 combines these demodulated received signals into a combined signal. It should be noted that it combines the signals, as distinct from combining the channel symbols. An output maximum detector 216 takes the combined signal and detects the channel symbol having the most correlation energy with respect to the combined signal. It passes on, for further processing 218, an index for this maximum energy channel symbol, together with a measurement of the energy of that channel symbol. The combined signal is passed on, for further processing 218, as well.
FIG. 3 shows the orthogonal signaling scheme used for data validation in the exemplary system. Other orthogonal and non-orthogonal n-ary methods are possible.
A group of 6 binary code channel symbols are taken together and transmitted as a single channel symbol. There are then 64, or 2.sup.6, possible channel symbols. An orthogonal set of 64 waveforms, each waveform having a zero correlation with the other waveforms in the set, is chosen. Each channel symbol is composed of 64 bits, conventionally known as "channel chips." One popular set of 64 waveforms is the set of so-called "Walsh functions," but other waveforms may be used if desired.
A Walsh function is generated by converting a decimal number 302 to a binary number 304 and forming the 2.times.2 matrix shown as 306 in the upper left corner of a matrix 308. This is repeated in upper right 310 and lower left 312 corners, and inverted in the lower right corner 314. Matrix 308 is then repeated in upper right 318 and lower left 320 corners, and inverted in the lower right corner 322. This process is continued until a row of the desired length (64) is obtained. Walsh functions are orthogonal to one another in the sense that, on a channel chip by channel chip matching, each pair of Walsh functions has 32 channel chips which match and 32 channel chips which differ.
64 channel chips is likewise a popular length for a channel symbol, but any other length (preferably a power of 2) may be used if desired. There being 64, or 2.sup.6, possible channel symbols, each channel symbol may be assigned an index, and the index will have only 6 bits. Longer or shorter channel symbols will have longer or shorter indices. "Index," "channel symbol index," "Walsh code index," and "Walsh index " are all synonymous as used in this application.
In the receiver, each finger implements 64 correlations of the received signal--one correlation for each channel symbol in the possible transmitted set. For a single-path receiver, the correlation with the highest energy is the most likely transmitted channel symbol. For a multi-path receiver, the correlation energies for each finger are scaled and piece-wise combined to make a combined set of 64 energies. At this point, the highest energy indicates the channel symbol which was most likely transmitted. Note that this channel symbol is not necessarily the most likely channel symbol that would be reported from any individual finger.
To determine whether a finger is actually assigned to a valid signal path, an energy metric is generated and compared against a threshold. Each finger takes the highest energy over the set of 64 possible channel symbols and applies that as an input to a lock detect mechanism. The lock detect mechanism typically applies a low-pass filter to these inputs and then compares the LPF output to a threshold. If the filtered energy is above the threshold, then the finger is declared in-lock and it is allowed to contribute to the demodulation. If the filtered energy is below the threshold, then the finger is declared out-of-lock and it is not allowed to contribute to the demodulation. Both IIR and FIR low pass filters may be used. In addition, multiple energy thresholds can be used to differentiate the go-into-lock state transition from the go-out-of-lock transition.